package com.geek.homework.For;

/**
 * @author SunBingJian
 * @desc TODO
 * @date 2025/9/2
 */

/**
 * 2.在屏幕上打印出n行的金字塔图案，如，若n=5,则图案如下：
 *         *
 *        ***
 *       *****
 *      *******
 *     *********
 * 拓展：打印输出
 * 		  A
 * 		 BBB
 * 	    CCCCC
 * 	   DDDDDDD
 * 	  EEEEEEEEE
 */

import java.util.Scanner;

public class For_work02 {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入金字塔的行数：");
        int n = scanner.nextInt();
        
        System.out.println("\n=== 星号金字塔 ===");
        // 打印星号金字塔
        for (int i = 1; i <= n; i++) {
            // 打印空格
            for (int j = 1; j <= n - i; j++) {
                System.out.print(" ");
            }
            // 打印星号
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print("*");
            }
            System.out.println(); // 换行
        }
        
        System.out.println("\n=== 字母金字塔 ===");
        // 打印字母金字塔
        for (int i = 1; i <= n; i++) {
            // 打印空格
            for (int j = 1; j <= n - i; j++) {
                System.out.print(" ");
            }
            // 打印字母
            char letter = (char)('A' + i - 1); // 计算当前行对应的字母
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print(letter);
            }
            System.out.println(); // 换行
        }
        
        scanner.close();
    }
}
